Linux Processor Microcode Data File

The microcode data file contains the latest microcode definitions for all Intel
processors. Intel releases microcode updates to correct processor behavior as
documented in the respective processor specification updates. While the regular
approach to getting this microcode update is via a BIOS upgrade, Intel realizes
that this can be an administrative hassle. The Linux operating system and VMware
ESX products have a mechanism to update the microcode after booting.

This SlackBuild repackages the official Intel microcode archive.

The "microcode.dat" file is placed under /lib/firmware/microcode.dat and can be
later uploaded using microcode_ctl utility (available from SlackBuilds.org).
This approach (microcode.dat + microcode_ctl) is kept for compatibility reasons
and should be avoided whenever possible. * Use the solution described below. *

If the iucode_tool (available from SlackBuilds.org) is installed on the system,
this SlackBuild will:

1) write the microcodes with the file names as expected by the Linux kernel
   firmware loader and place them under /lib/firmware/intel-ucode directory.
   The correct microcode is uploaded when the Intel microcode kernel's module
   is loaded.

2) write the microcodes to an early initramfs archive: /boot/intel-ucode.cpio
   This archive should be prepended to the regular initramfs to allow
   the kernel to update processor microcode very early during system boot.

To get started with early microcode loading, please have a look at:
1) https://www.kernel.org/doc/Documentation/x86/early-microcode.txt
2) iucode_tool man page, especially about --write-earlyfw option.

For example, on my system that uses syslinux, to load the microcode early
during the boot process, the configuration file reads something like that:

  INITRD /boot/intel-ucode.cpio,/boot/initrd-generic-4.4.x.gz
